In processors, such as a Central processing unit (CPU), Graphics Processing Unit (GPU), or otherwise, performance is largely a function of, and measured by, how many operations can be performed over a set time period. Many factors contribute to the performance that can be garnered from a processor. One such factor is the heat produced by the processor and the ability to dissipate that heat. Production of more heat than can be adequately dissipated leads to unreliability and processing faults within the processor. As a result, designs must operate at a performance point that allows for temperature margin, often at the cost of performance. Accordingly, efforts to increase the accuracy of the measured or calculated temperature will allow for a decreased temperature margin and thus enable and result in increased performance.
Heat within a processor is at least partially dependent upon the voltage, current, and power supplied to a processor or block of a processor. In some situations, the precise values of supplied voltage cannot be measured or such measurement imparts logistical hurdles that make such measurement impractical. One such situation is when voltage is supplied to a processor from an off-chip voltage regulator that does not provide a mechanism to dynamically monitor the voltage, which may vary based on load and/or load-lines implemented by the regulator. While the chip requested voltage is used to make calculations on the heat being produced by the processor and to make other calculations affecting performance, the requested voltage may differ from that being supplied by the voltage regulator.
To ensure stability of the processor and to make sure that the processor doesn't overheat, in the absence of being able to accurately measure the supplied voltage, such calculations must assume that the supplied voltage is the maximum voltage that the voltage regulator can supply for a given voltage request (a voltage worst case scenario). From a heat perspective, the worst case scenario voltage represents a worst case scenario heat value. When less than the worst case scenario voltage is being supplied, there is heat dissipation allocated to that operation that is not needed or utilized because the operations of the processor continue to assume that maximum voltage is being supplied. The extra allocated heat dissipation could otherwise be allocated to additional blocks and additional processor functions could be powered using the wasted allocation.
Additionally, when a voltage regulator is employed, the processor sends requests to the voltage regulator requesting supply of a given voltage. The requested value is then used to calculate/estimate the current and power being consumed by the processor (or sub-part of the processor). The current and power estimations and requested voltage are then used in a power/performance algorithm that is responsible for setting frequency and/or voltage parameters for the design.
Differences between the requested voltage and the voltage actually delivered provide inaccuracies in the estimates. Accordingly, the algorithms (or other operations that use the algorithm output) must build in tolerances that assume a worst case inaccuracy in the algorithm output. Again, such requirements to build in worst case tolerances result in inefficiencies that could be reduced through having more accurate information.
Accordingly, what is needed is a way to more accurately estimate the voltage actually being used and to be able to use those estimates to more fully utilize the processing power of processors.